1. Field of the Invention
The present invention relates to a method and apparatus for displaying text and graphics on a video display device comprising a screen with a display raster having a given number of lines of pixels in the x- and a given number of consecutive lines in the y-direction, and a video refresh memory, said method using glyphs (characters and similar graphic symbols and elements) formatted in an intelligent outline description which are loaded from memory on demand and scaled, rotated, and positioned according to text processing requirements and rastered by pixels being placed along their contours by one of the existing scalers.
2. Related Art
Improvements in the quality of visually displayed text have a major influence on its usefulness in word processing. Current problems are two-fold:
--an A4 page (about 60 lines, each containing 60-80 characters) cannot be represented on a single screen in a readable manner; and
--typographically low quality means hard-to-read typesetting. What we see is what we get is the popular concept of computer generated "exact" bitmaps as an ugly and fatiguing medium of communication.
Video monitors represent characters and other graphic symbols in a rastered form. Usually, video screens have about 500 to 1000 television lines (TV-lines), each consisting of around 600 to 1200 pixels. Without limiting generality, in some places it is assumed in the following that a pixel length (x-direction) equals the line width (y-direction) so that the pixels are squares. Any colour can be displayed at each pixel, i.e. different intensities of the colours red, green, and blue. Texts are often represented in black and white by displaying appropriate white and black values, generated by an even intensity of red, green and blue depending on the lightness desired. In the following, a black and white text display with all its shades of intermediate grey-values is considered as representive for a general text display in any colour and its shades.
Within the framework of office automation and desktop publishing, text display plays a key role. Since 1980, all computer and operating software manufacturers have made considerable efforts to improve the quality of text display on screens, namely to obtain rastered characters for screen display which maintain to the maximum extent possible the readability of the rastered characters and which maintain the specific character form and shape as it later appears when output on high resolution devices (laser printers, laser recorders and so on). These attempts have been called "WYSIWYG" (What You See Is What You Get).
Various manufacturers have developed data formats for storing and representing characters and other graphic elements, called "intelligent digital outline formats". Characters are formed by black strokes that cover a certain area and whose contours are described by, mostly short, vectors and/or curved lines. Arcs (circle segments), as well as quadratic and cubic splines (curves generated by a spline function) are often used as such contour curves. Additionally, these contour descriptions are stored together with so called instructions (or hints) which are used in the rasterisation step in order to avoid bad accidental effects of quantisation, which may be caused when rastering in a coarse raster. Such bad effect is for example: rastering the character "m" so that all three vertical strokes have different widths, measured in pixels (see FIG. 1a on the left side); or rastering very thin stems so that no black pixels are generated along the stroke (see FIG. 1b on the left side). To avoid these random effects, instructions have been introduced for "stem control", "drop out control" and other controls. Applying these instructions avoids bad accidental effects as shown on the right in FIGS. 1a and b. A more detailed treatment of modern intelligent outline formats is available in literature, for example "Digital Typefaces" by Peter Karow, Springer Verlag, 1993, chapter 8, and "Font Technology" by Peter Karow, Springer Verlag, 1994, chapter 7, wherein these more detailed descriptions are incorporated by refence. Some of the widely used formats like PostScript Typel, TrueType, and IKARUS are described in these references.
The rasterisation speed is one of the most important criteria for a scaling program (scaler) which converts outline character formats like PostScript Typel, TrueType or IKARUS into a bitmap representation of the characters for display on a video screen. For example, when using a text processing program, one deletes a character in the text and would like to see the changed text page displayed instantaneously, i.e. with the mimimal possible delay or response time. The delay, however, mainly depends on the speed of the scaler. In all common methods, one can distinguish four steps, each needing about the same processing time for a typical text typeset in a typeface such as Times Roman at 12 pt (1 pt=1/72 inch, pt is read as "point").
1. load: load a typeface's digital font, decompress it, initialize administration and parameters.
2. gridfit: interpret instructions and reconfigure the contours to fit into the desired raster grid.
3. gridwalk: calculate, using the vectors and curved line descriptions of the contour of the character, all pixels along the contours.
4. bitfill: fill-in all other black pixels in-between the two contour pixels belonging to the black stroke areas of the character. Usually a white pixel is represented by a bit value "0" and a black by "1".
A bitmap for each character or graphic element results from such rasterisation. This bitmap is copied to a certain location in the video refresh memory (video-RAM) corresponding to certain location on the screen which location was calculated during text processing and is specified in screen-coordinates, i.e. the coordinates are rounded off from original text-coordinates that were calculated at a higher resolution of e.g. 2400 lpi (lpi=lines per inch) or 1/20 pt (1 pt=1/72 inch) to the coarser screen raster resolution, thus losing positional accuracy by quantyzing the position in units of one screen pixel.
Screen pixels are relatively large and are typically 1 pt in both the x- and y-directions (i.e. 1/72 inch.times.1/72 inch). Therefore, one has a relatively coarse character representation, especially in sizes typical for writing text, such as 10 pt. Consequently, rasterisation leads to insufficient readability and legibility for all smaller text sizes (pointsizes). Additionally, character widths are specified in integer pixel units, and one has screen positions rounded to integer pixel units as well as rounded line positions. So, the overall text display suffers from these deficiencies, showing bad word images and varying line widths.
For better text representation on current video screens, a more accurate indication of character positions in relation to one another is desired than can be achieved by using a 1 pt unit. The same would be true for line positions. As a comparison, it is noted that craftsmen in printing use 1/4 pt as the largest unit in publishing (typography). There are reasons why it is too expensive to get a resolution four times higher in both directions on the video screen, therefore one has to find a different way to increase text legibility and graphic perception with today's screen resolutions of about 72 lpi.
From European Patent Application EP 0 132 456 a method is known for monitoring the typesetting quality on an electronic typesetting machines, namely by displaying the page layout on a video monitor. In the electronic typesetter there is stored a high resolution bitmap of an entire page for exposing a film with this page. To allow to monitor or check the page layout on a video screen before exposure of the film, the entire page bitmap is accessed and converted to a coarser raster of the video screen. This is done by summing up m consecutive pixels in n consecutive lines, then calculating a grey value of that m.times.n area in dependence of the sum of bit values of the bitmap in this m.times.n area. This grey value is assigned to the screen pixel. This type of method is not feasible for displaying text on personal computers (PCs) or the like because a high resolution bitmap of a page is needed which is usually generated using a special driver or hardware in an output device (RIP, Raster Image Processor) like a printer which prints the page with high resolution. The generation of a high resolution bitmap of a page is time consuming, and this page bitmap would then have to be transferred from the Raster Image Processor back to the video RAM of the screen afterwards. Altogether this would not result in the fast and inexpensive display required for text processing. In particular, such a method would cause an entirely new calculation of the page-image if just one character was deleted or inserted. Therefore, the above method cannot be used in view of speed requirements for interactive display applications.
European Patent Application EP 0 215 664 discloses a method and apparatus for constructing and displaying characters. Each character is represented by spline functions describing its contour. The contour is overlayed with a grid corresponding to the raster of the output device (screen), and the grid squares through which the contour line passes are identified as boundary pixels. For each of these boundary pixels it is taken into account that the pixel square may be partly filled only by the character area inside the contours. This is performed by using the spline functions crossing the respective boundary square to calculate the "inside area" being within the contour in this pixel square. The value representing the inside area in relation to the total pixel square area gives a grey scale factor on a scale of 0 to 1. This factor represents the relative intensity at which the pixel will be diplayed. The character is then filled in by turning on all pixels between boundaries. Although this method achieves a slightly improved legibility the results are not satisfying. This is mainly due to the fact that the character position is sampled or quantized in units of the screen pixel size, and that the resulting grey scaled character is independent of the relative position of the character with respect to the pixel grid and to neighbouring characters. Furthermore, the disclosed calculation of grey scale factors for all boundary pixels of a character is, although approximative calculations are used, very time consuming since a large number of time consuming mathematical operations have to be processed which results in unacceptable response times for interactive display purposes.
European Patent Application EP 0 428 356 discloses a pattern generation method and apparatus in which a character is sampled or rastered to an internal bitmap of a grid which has an n times higher resolution than the actual output resolution. To reduce the internal bitmap to a pixelmap for the output device the bit values of the internal pixels belonging to one output pixel are summed up for each output pixel. Depending on the sum of black internal bitmap pixels within each output pixel, a grey scale value is assigned to each output pixel. This method is somewhat faster than the above calculation of grey values but it suffers from the same fundamental difficulties which result from the character positioning and grey value calculation not taking into account the character fine position with respect to the internal grid of higher resolution.
The present invention improves text and graphic display with a speed acceptable for interactive applications on video screens, using common resolutions in which legibility and display quality are increased compared to today's common methods.